Skip to content

Conversation

@hhhoppe
Copy link

@hhhoppe hhhoppe commented Dec 25, 2025

Задание

Задача: Интегрирование – метод трапеций
Вариант: 20
Технология: MPI (с поддержкой SEQ для последовательной версии)

Описание

В рамках работы реализованы последовательная и параллельная версии численного интегрирования определённого интеграла методом трапеций.

Последовательная версия (SEQ) использует классический алгоритм: отрезок интегрирования разбивается на n равных частей, после чего значение интеграла вычисляется как сумма площадей трапеций. Данная реализация служит эталоном для проверки корректности параллельного решения.

Параллельная версия (MPI) основана на разбиении интервала интегрирования между процессами. Каждый процесс вычисляет частичную сумму интеграла на своём подотрезке. Полученные значения собираются на процессе с рангом 0 с помощью MPI_Reduce, после чего итоговый результат рассылается всем процессам.

Ключевые особенности

  • Реализованы SEQ и MPI версии алгоритма
  • Равномерное распределение вычислений между процессами
  • Использование MPI_Reduce для суммирования частичных результатов
  • Корректная обработка граничных случаев (малое число разбиений, нулевой интервал и т.п.)
  • Сравнение результатов SEQ и MPI в тестах
  • Наличие функциональных и performance-тестов

Тестирование и производительность

Добавлены тесты на корректность работы алгоритма для различных параметров интегрирования, а также тесты производительности для оценки ускорения MPI-версии по сравнению с последовательной реализацией при увеличении числа процессов.


  • Статус CI: Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке
  • Директория и именование задачи: Я создал директорию с именем <фамилия><первая_буква_имени><короткое_название_задачи>
  • Полное описание задачи: Я предоставил полное описание задачи в теле pull request
  • clang-format: Мои изменения успешно проходят clang-format локально в моем форке (нет ошибок форматирования)
  • clang-tidy: Мои изменения успешно проходят clang-tidy локально в моем форке (нет предупреждений/ошибок)
  • Функциональные тесты: Все функциональные тесты успешно проходят локально на моей машине
  • Тесты производительности: Все тесты производительности успешно проходят локально на моей машине
  • Ветка: Я работаю в ветке, названной точно так же, как директория моей задачи (например, nesterov_a_vector_sum), а не в master
  • Правдивое содержание: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными

@github-actions
Copy link

github-actions bot commented Jan 9, 2026

This pull request is stale for 2 weeks and is going to be closed in a week

@github-actions github-actions bot added the stale label Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant